補充資料一:epoch, stochastic and batch optimization
機器都是由其架構(archiecture)與權重(weight, $$\bar{\bar{w}}$$)、偏差(bias, $$\bar{b}$$)決定。
每筆訓練資料,都可以計算出機器應該修正的量。
以第k筆訓練資料($$\bar{x}_k, \hat{y}_k$$)來說,可以計算出$$\frac{\partial L_k}{ \partial w}$$。其中$$\frac{\partial L_k}{ \partial w}$$是$$\bar{x}_k, \hat{y}_k$$, $$\bar{\bar{w}},\bar{b}$$的函數。
epoch optimization
epoch(世代)指的是將所有的資料給機器看過一次,才更新機器參數:權重(weight, $$\bar{\bar{w}}$$)、偏差(bias, $$\bar{b}$$)一次。
數學式的表示可以寫成
$$w^{(t)}=w^{(t-1)}-\eta \frac{\partial L}{\partial w}$$
$$L=\displaystyle \sum_{k=1}^KL_k $$
stochastic optimization
stochastic optimization 指的是看一筆資料便update一次機器的參數: 權重(weight, $$\bar{\bar{w}}$$)、偏差(bias, $$\bar{b}$$)
數學式的表示可以寫成
$$w^{(t)}=w^{(t-1)}-\eta \frac{\partial L_k}{\partial w}$$
$$L_k$$:是第K筆資料的loss
batch optimization
batch optimization 指的是看一個batch (數筆)資料,便update一次機器參數:權重(weight, $$\bar{\bar{w}}$$)、偏差(bias, $$\bar{b}$$),
數學式的表示可以寫成
$$w^{(t)}=w^{(t-1)}-\eta \frac{\partial L_{\textrm{batch},j}}{\partial w}$$
$$ L_{\textrm{batch},j}$$ 是第 j batch 的loss
$$L{\textrm{batch},j}=\displaystyle \sum{k=1}^{batch}L_k$$
one epoch= one generation = 一代
機器將所有資料看過一次稱為一代。
如果是stochastic optimization,就是
$$\partial{w^{(t)}}=w^{(t-1)}-\eta \frac{\partial L_k}{\partial w}$$
$$k=1, \cdots, N_t$$
如果是batch optimization,就是
$${w^{(t)}}=w^{(t-1)}-\eta \frac{\partial L_{\textrm{batch},j}}{\partial w}$$
$$j=1, \cdots N_t/batch_size$$